/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.gob.fonafe.dao.impl.stored;

import java.sql.Types;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import oracle.jdbc.OracleTypes;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.SqlOutParameter;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.core.support.SqlLobValue;
import org.springframework.jdbc.object.StoredProcedure;
import pe.gob.fonafe.domain.ResultadosSubastaBean;

/**
 *
 * @author czela
 */
public class RegistaResultadoBySubastaSP extends StoredProcedure{

    private static final String PROC_PARAM="USERGLC.P_REGISTRAR_RESULTADOS_SUB";

    public RegistaResultadoBySubastaSP(DataSource ds) {
        super(ds, PROC_PARAM);

        declareParameter(new SqlParameter("P_IDSUBASTA", Types.NUMERIC));
        declareParameter(new SqlParameter("P_ARCHIVO", OracleTypes.BLOB));
        declareParameter(new SqlParameter("P_NOMBREARCHIVO", Types.VARCHAR));
        declareParameter(new SqlParameter("P_EXTENSIONARCHIVO", Types.VARCHAR));
        declareParameter(new SqlParameter("P_VERSION", Types.NUMERIC));
        declareParameter(new SqlOutParameter("V_MENSAJE", Types.VARCHAR));
        declareParameter(new SqlOutParameter("V_EXITO", Types.VARCHAR));
        compile();
    }

    public Map execute(int idSubasta,ResultadosSubastaBean bean,int version){
        Map inputs = new HashMap();
        inputs.put("P_IDSUBASTA", idSubasta);
        inputs.put("P_ARCHIVO", new SqlLobValue(bean.getArchivo()));
        inputs.put("P_NOMBREARCHIVO", bean.getNomArchivo());
        inputs.put("P_EXTENSIONARCHIVO", bean.getExtenArchivo());
        inputs.put("P_VERSION", version);
        return super.execute(inputs);
    }

}
